package com.zbkj.service.service;

import com.github.pagehelper.PageInfo;
import com.zbkj.common.model.shop.EbGroupBuyShop;
import com.zbkj.common.model.shop.EbGroupBuyShopVerificationUser;
import com.zbkj.common.request.EbGroupBuyShopRequest;
import com.zbkj.common.response.EbGroupBuyShopResponse;
import com.zbkj.common.response.EbGroupBuyShopVerificationUserResponse;
import com.zbkj.common.response.SearchGroupBuyShopResponse;
import com.zbkj.common.vo.MyRecord;

import java.util.List;
import java.util.Map;

public interface EbGroupBuyShopService {
    /**
     * 增加团购店铺
     *
     * @param ebGroupBuyShop
     * @return
     */
    public EbGroupBuyShop add(EbGroupBuyShopRequest ebGroupBuyShop);

    /**
     * 删除团购店铺
     *
     * @param id
     * @return
     */
    public boolean delete(Long id);

    /**
     * 修改团购店铺
     *
     * @param ebGroupBuyShop
     * @return
     */
    public EbGroupBuyShop update(EbGroupBuyShopRequest ebGroupBuyShop);
    public EbGroupBuyShop check(EbGroupBuyShopRequest ebGroupBuyShop);

    /**
     * 查询详情
     *
     * @param id
     * @return
     */
    public EbGroupBuyShopResponse getById(Long id);

    /**
     * 获取店铺营业状态
     * @param id
     * @return
     */
    public Integer getBusinessStatus(Long id);

    /**
     * 查询列表
     *
     * @return
     */
    public List<EbGroupBuyShopResponse> getList(EbGroupBuyShopRequest ebGroupBuyShopRequest);

    /**
     * 分页查询
     *
     * @param ebGroupBuyShopRequest
     * @return
     */
    public PageInfo<EbGroupBuyShopResponse> getPage(EbGroupBuyShopRequest ebGroupBuyShopRequest);
    public PageInfo<SearchGroupBuyShopResponse>  getShopPage(EbGroupBuyShopRequest ebGroupBuyShopRequest);

    Integer getCount(Integer id);

    EbGroupBuyShop updateBusiness(EbGroupBuyShopRequest ebGroupBuyShopRequest);

    EbGroupBuyShopResponse getDetails(EbGroupBuyShopRequest ebGroupBuyShopRequest);

    Boolean delUserShopVerification(EbGroupBuyShopVerificationUser ebGroupBuyShopVerificationUser);

    List<EbGroupBuyShopVerificationUserResponse> getShopVerificationUserList(Integer merId);

    List<EbGroupBuyShopVerificationUserResponse> getUserShopVerification(Integer id);
    List<Integer> getUserShopVerificationIdlIst(Integer id);

    EbGroupBuyShopVerificationUser addUserShopVerification(EbGroupBuyShopVerificationUser ebGroupBuyShopVerificationUser);

    EbGroupBuyShopVerificationUser setUserShopVerification(EbGroupBuyShopVerificationUser ebGroupBuyShopVerificationUser);

    Map<String,Object> getStatusCount();
}
